package com.xbj.cloud.config;

import feign.Logger;
import feign.Retryer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author: 观雾
 * @create: 2024-08-22
 * @description:OpenFeign重试机制
 **/
@Configuration
public class FeignConfig {
    @Bean
    public Retryer myRetryer(){
        return Retryer.NEVER_RETRY; //默认不重试
        //最大请求次数为3(1+2)，初始间隔时间为100ms，重试间最大间隔时间为1s
        //return new Retryer.Default(100,1,3);
    }

    /**
     * NONE:默认,不显示任何日志
     * BASIC:仅记录请求方法,url,响应状态码及执行时间
     * HEADERS:除BASIC中定义的信息外,还要请求响应的头信息
     * FULL:除HEADERS中定义的信息外,还有请求和响应的正文及元数据
     *
     */
    @Bean
    Logger.Level feignLoggerLevel() {
        return Logger.Level.FULL;
    }
}
